home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Pascal Super Library
/
Pascal Super Library (CW International)(1997).bin
/
LIBRARY
/
PRUS101
/
FSTR.DOK
< prev
next >
Wrap
Text File
|
1994-12-08
|
45KB
|
1,003 lines
/////////////////////\\\\\\\\\\\\\\\\\\\\\\\
Dokumentation zur FIDO Unit FSTR
\\\\\\\\\\\\\\\\\\\\\///////////////////////
RELEASE 1.06
^^^^^^^^^^^^
=========================================================================
Autor: Peter Holschbach, 2:2450/660.3 @ FidoNet, Remscheid, 29.06.1994
=========================================================================
1. Strings:
-----------
Die Unit FSTR.PAS stellt Funktionen und Prozeduren zur Manipu-
lation und Bearbeitung von Variablen der Typen CHAR und STRING
zur Verfuegung.
Dies ist eine Low Level Unit. Sie benoetigt keinerlei Routinen
anderer Units, mit Ausnahme der in Turbo Pascals (6.0 oder
hoeher) Unit-Library TURBO.TPL enhaltenen Standard-Units.
2. Kurzbeschreibung:
--------------------
CharListPos .......... liefert die Position des ersten
Vorkommens eines, in einer als String
uebergebenen Liste enthaltenen Chars in
einem String als Word zurueck
CharListNoPos ........ liefert die Position des ersten
Vorkommens eines, in einer als String
uebergebenen Liste _nicht_ enthaltenen
Chars in einem String als Word zurueck
EscToString .......... wandelt eine Zeichenkette mit Steuerzeichen
in eine 'lesbare' Zeichenkette mit ASCII
um.
EnsureBackslash ...... stellt sicher, dass ein String mit
einem '\' endet
EnsureNoBackslash .... stellt sicher, dass ein String _nicht_
mit einem '\' endet
FieldOfStrings ....... Typendefinition fuer den internen
Gebrauch
LastPos .............. ermittelt die letzte Startposition einer
Zeichenfolge innerhalb einer Variablen
des Typs STRING
LowerString .......... konvertiert eine Variable des Typs
STRING zu Kleinschreibung (erlaubt auch
die Uebergabe von Variablen des Typs
CHAR)
MirrorString ......... spiegelt einen String an der eigenen
Achse
PartString ........... teilt einen String, ausgehend von einer
als String uebergebenen Liste von Trenn-
zeichen, in Teilstrings auf
PartStringByComma .... teilt einen String, ausgehend von dem
Trennzeichen ',', in Teilstrings auf
PartStringBySpaceTAB . teilt einen String, ausgehend von den
Trennzeichen ' ' und #9, in Teilstrings
auf
PosCount ............. ermittelt die Haeufigkeit, mit der eine
Zeichenfolge innerhalb einer Variablen
des Typs STRING vorkommt
PosX ................. liefert die Position des Xten
Vorkommens eines Substrings innerhalb
eines Strings als Byte zurueck
RedPosCount .......... ermittelt die _redundante_ Haeufigkeit,
mit der eine Zeichenfolge innerhalb
einer Variablen des Typs STRING
vorkommt
RemoveAll ............ entfernt alle in einer uebergebenen Liste
enthaltenen Chars komplett aus einem
String
RemoveLeft ........... entfernt alle in einer uebergebenen
Liste enthaltenen Chars links aus einem
String
RemoveLeftRight ...... entfernt alle in einer uebergebenen
Liste enthaltenen Chars links _und_
rechts aus einem String
RemoveRight .......... entfernt alle in einer uebergebenen Liste
enthaltenen Chars rechts aus einem
String
Resemble ............. liefert einen Wert zurueck, der angibt,
wie sehr sich zwei Strings aehneln
StringToEsc .......... wandelt eine Zeichenkette, die
Steuerzeichen in lesbarer Form enthält,
in eine Zeichenkette mit Steuerzeichen
um.
StripLeadingSpaceTAB . entfernt alle fuehrenden Leerzeichen und
TABs aus einem String
StripSpaceTAB ........ entfernt _alle_ Leerzeichen und TABs aus
einem String
UpperString .......... konvertiert eine Variable des Typs
STRING zu Grossschreibung (erlaubt auch
die Uebergabe von Variablen des Typs
CHAR)
WildMatch ............ ueberprueft, ob ein beliebige WildCards
'?' und '*' enthaltender String mit
einem als zweitem Parameter uebergebenem
String uebereinstimmt
3. Detaillierte Beschreibung:
-----------------------------
===============================================================
CharListPos
---------------------------------------------------------------
ERSTAUTOR ... Peter Holschbach, 2:2450/660.3 @ FidoNet
ERSTDATUM ... 16.01.1994 LETZTE AeNDERUNG ... 18.06.1994
MODIFIKATION ... Orazio Czerwenka
---------------------------------------------------------------
BESCHREIBUNG ... liefert die Position des ersten Vorkommens
eines, in einer als String uebergebenen Liste
enthaltenen Chars in einem String als Word
zurueck
DEKLARATION ... function CharListPos
(findlst,strName: String) : Word;
PARAMETER ... findlst - die Liste der gueltigen Chars
strName - der zu durchsuchende String
ERGEBNIS ... eine Variable des Typs BYTE, die die Position
des ersten Vorkommens eines in der Liste der
gueltigen Chars enthaltenen Chars in strName
zurueckliefert
===============================================================
CharListNoPos
---------------------------------------------------------------
ERSTAUTOR ... Peter Holschbach, 2:2450/660.3 @ FidoNet
ERSTDATUM ... 16.01.1994 LETZTE AeNDERUNG ... 18.06.1994
MODIFIKATION ... Orazio Czerwenka
---------------------------------------------------------------
BESCHREIBUNG ... liefert die Position des ersten Vorkommens
eines, in einer als String uebergebenen Liste
nicht enthaltenen Chars in einem String als
Word zurueck
DEKLARATION ... function CharListNoPos
(findlst,strName: String) : Word;
PARAMETER ... findlst - die Liste der ungueltigen Chars
strName - der zu durchsuchende String
ERGEBNIS ... eine Variable des Typs BYTE, die die Position
des ersten Vorkommens eines in der Liste der
gueltigen Chars nicht enthaltenen Chars in
strName zurueckliefert
===============================================================
EscToString
---------------------------------------------------------------
ERSTAUTOR ... Peter Holschbach, 2:2450/660.3 @ FidoNet
ERSTDATUM ... 24.10.1994 LETZTE AeNDERUNG ...
MODIFIKATION ...
---------------------------------------------------------------
BESCHREIBUNG ... Eine Zeichenkette die Steuerzeichen
enthält (z.B. Escape = #27) wird in eine
lesbare Form gebracht die auf dem Bildschirm
darstellbar ist. Hierfür werden alle
Zeichen die einen ASCII-Wert unterhalb von
20h haben als ASCII-WERT + 64 dargestellt und
durch ein führendes '^' gekennzeichnet.
Bsp.: #27 -> '^[' ( da 27+64 = 91 = '[')
Sollte in der Zeichenkette ein '^' enthalten
sein, so wird es durch '^^' gekennzeichnet.
Dies Funktion kann z.B. gebutzt werden um
die Steuerzeichen eines Druckers lesbar
zu machen.
DEKLARATION ... Function EscToString (strName:String) : String;
PARAMETER ... strName - der String der gewandelt werden soll
ERGEBNIS ... ein String mit Steuerzeichen im ASCII Format
===============================================================
EnsureBackslash
---------------------------------------------------------------
ERSTAUTOR ... Peter Holschbach, 2:2450/660.3 @ FidoNet
ERSTDATUM ... 16.01.1994 LETZTE AeNDERUNG ... 17.06.1994
MODIFIKATION ... Orazio Czerwenka
---------------------------------------------------------------
BESCHREIBUNG ... stellt sicher, dass ein String auf '\' endet
DEKLARATION ... function EnsureBackslash
(strName: String) : String;
PARAMETER ... strName - der zu pruefende String
ERGEBNIS ... ein String der auf '\' endet
===============================================================
EnsureNoBackslash
---------------------------------------------------------------
ERSTAUTOR ... Orazio Czerwenka, 2:2450/540.55 @ FidoNet
ERSTDATUM ... 17.06.1994 LETZTE AeNDERUNG ... 17.06.1994
MODIFIKATION ... Orazio Czerwenka
---------------------------------------------------------------
BESCHREIBUNG ... stellt sicher, dass ein String nicht auf '\'
endet
USES ... RemoveRight
DEKLARATION ... function EnsureNoBackslash
(strName: String) : String;
PARAMETER ... strName - der zu pruefende String
ERGEBNIS ... ein String der nicht auf '\' endet
===============================================================
FieldOfStrings
---------------------------------------------------------------
ERSTAUTOR ... Peter Holschbach, 2:2450/660.3 @ FidoNet
ERSTDATUM ... 16.01.1994 LETZTE AeNDERUNG ... 18.06.1994
MODIFIKATION ... Orazio Czerwenka
---------------------------------------------------------------
BESCHREIBUNG ... Typendaklaration zum internen Gebrauch fuer
PartString
DEKLARATION ... type
FieldOfStrings = Array [0..20] of String;
===============================================================
LastPos
---------------------------------------------------------------
ERSTAUTOR ... Orazio Czerwenka, 2:2450/540.55 @ FidoNet
ERSTDATUM ... 18.12.1993 LETZTE AeNDERUNG ... 21.12.1993
---------------------------------------------------------------
BESCHREIBUNG ... liefert die letzte StartPosition eines Sub-
Strings oder -Chars innerhalb eines Strings
zurueck
USES ... MirrorString
DEKLARATION ... function LastPos (findstr, strName: String): Byte
PARAMETER ... findstr - der zu suchende SubString
strName - der zu durchsuchende String
ERGEBNIS ... eine Variable des Typs BYTE, die die letzte
Startposition von 'findstr' innerhalb von
'strName' enthaelt
===============================================================
LowerString
---------------------------------------------------------------
ERSTAUTOR ... Orazio Czerwenka, 2:2450/540.55 @ FidoNet
ERSTDATUM ... ??.??.1992 LETZTE AeNDERUNG ... 21.12.1993
---------------------------------------------------------------
BESCHREIBUNG ... konvertiert eine Variable des Typs STRING zu
Kleinschreibung (erlaubt auch die Uebergabe von
Variablen des Typs CHAR)
DEKLARATION ... function LowerString (strName:string):String
PARAMETER ... strName - der zu konvertierende String
ERGEBNIS ... eine Variable des Typs STRING, bestehend aus
Kleinbuchstaben
===============================================================
MirrorString
---------------------------------------------------------------
ERSTAUTOR ... Orazio Czerwenka, 2:2450/540.55 @ FidoNet
ERSTDATUM ... 18.12.1993 LETZTE AeNDERUNG ... 16.06.1994
---------------------------------------------------------------
BESCHREIBUNG ... spiegelt eine Variable des Typs STRING an der
eigenen Achse
DEKLARATION ... function MirrorString(strName: String):String
PARAMETER ... strName - der zu konvertierende String
ERGEBNIS ... eine Variable des Typs STRING, die den Inhalt
von 'strName' _spiegelverkehrt_ enthaelt
===============================================================
PartString
---------------------------------------------------------------
ERSTAUTOR ... Peter Holschbach, 2:2450/660.3 @ FidoNet
ERSTDATUM ... 16.01.1994 LETZTE AeNDERUNG ... 28.06.1994
MODIFIKATION ... Peter Holschbach
---------------------------------------------------------------
BESCHREIBUNG ... teilt einen String, ausgehend von einer als
String uebergebenen Liste von Trennzeichen, in
Teilstrings auf. Ausgenommen alle Zeichen die
mit "" umschlossen sind.
USES ... CharListPos, CharListNoPos
DEKLARATION ... procedure PartString
(PartBy:String;Var StringField:FieldOfStrings);
PARAMETER ... PartBy - die als String uebergebene Liste
der gueltigen Trennzeichen
StringField - ein Array [0..20] of String;
der zu teilende String wird vor
Aufruf von PartString in
StringField[0] abgelegt, wo er
nicht veraendert wird
ERGEBNIS ... die TeilStrings werden in den Feldern 1..20
der Variablen StringField abgelegt und koennen
dort abgefragt werden. Die Anzahl der Teilstrings
wird in PartCount abgelegt.
===============================================================
PartStringByComma
---------------------------------------------------------------
ERSTAUTOR ... Peter Holschbach, 2:2450/660.3 @ FidoNet
ERSTDATUM ... 16.01.1994 LETZTE AeNDERUNG ... 18.06.1994
MODIFIKATION ... Orazio Czerwenka
---------------------------------------------------------------
BESCHREIBUNG ... teilt einen String, ausgehend von ',' als
Trennzeichen, in Teilstrings auf
USES ... CharListPos, CharListNoPos, PartString
DEKLARATION ... procedure PartStringByComma
(Var StringField : FieldOfStrings);
PARAMETER ... StringField - ein Array [0..20] of String;
der zu teilende String wird vor
Aufruf von PartString in
StringField[0] abgelegt, wo er
nicht veraendert wird
ERGEBNIS ... die TeilStrings werden in den Feldern 1..20
der Variablen StringField abgelegt und koennen
dort abgefragt werden
===============================================================
PartStringBySpaceTAB
---------------------------------------------------------------
ERSTAUTOR ... Peter Holschbach, 2:2450/660.3 @ FidoNet
ERSTDATUM ... 16.01.1994 LETZTE AeNDERUNG ... 18.06.1994
MODIFIKATION ... Orazio Czerwenka
---------------------------------------------------------------
BESCHREIBUNG ... teilt einen String, ausgehend von ','#9 als
Trennzeichen, in Teilstrings auf
USES ... CharListPos, CharListNoPos, PartString
DEKLARATION ... procedure PartStringBySpaceTAB
(Var StringField : FieldOfStrings);
PARAMETER ... StringField - ein Array [0..20] of String;
der zu teilende String wird vor
Aufruf von PartString in
StringField[0] abgelegt, wo er
nicht veraendert wird
ERGEBNIS ... die TeilStrings werden in den Feldern 1..20
der Variablen StringField abgelegt und koennen
dort abgefragt werden
===============================================================
PosCount
---------------------------------------------------------------
ERSTAUTOR ... Orazio Czerwenka, 2:2450/540.55 @ FidoNet
ERSTDATUM ... 21.12.1993 LETZTE AeNDERUNG ... 21.12.1993
---------------------------------------------------------------
BESCHREIBUNG ... liefert die Haeufigkeit zurueck, mit der ein
SubString oder -Char innerhalb eines Strings
vorkommt
DEKLARATION ... function PosCount (findstr, strName : String): Byte
PARAMETER ... findstr - der zu suchende SubString
strName - der zu durchsuchende String
ERGEBNIS ... eine Variable des Typs BYTE, die die Haeufigkeit
von 'findstr' innerhalb von 'strName' zurueck-
liefert
===============================================================
PosX
---------------------------------------------------------------
ERSTAUTOR ... Orazio Czerwenka, 2:2450/540.55 @ FidoNet
ERSTDATUM ... 09.06.1994 LETZTE AeNDERUNG ... 09.06.1994
---------------------------------------------------------------
BESCHREIBUNG ... liefert die Position des Xten Vorkommens
eines Substrings innerhalb eines Strings als
Byte zurueck
DEKLARATION ... function PosX
(Xpos: byte; findstr, strName: String): Byte;
PARAMETER ... Xpos - das Xte zu findende Vorkommen
findstr - der zu suchende SubString
strName - der zu durchsuchende String
ERGEBNIS ... eine Variable des Typs BYTE, die die Position
des Xten Vorkommens von 'findstr' innerhalb
des Strings 'strName' zurueckliefert
===============================================================
RedPosCount
---------------------------------------------------------------
ERSTAUTOR ... Orazio Czerwenka, 2:2450/540.55 @ FidoNet
ERSTDATUM ... 18.12.1993 LETZTE AeNDERUNG ... 21.12.1993
---------------------------------------------------------------
BESCHREIBUNG ... liefert die _redundante_ Haeufigkeit zurueck,
mit der ein SubString oder -Char innerhalb
eines Strings vorkommt
DEKLARATION ... function RedPosCount(findstr,strName:String):Byte
PARAMETER ... findstr - der zu suchende SubString
strName - der zu durchsuchende String
ERGEBNIS ... eine Variable des Typs BYTE, die die _redundante_
Haeufigkeit von 'findstr' innerhalb von 'strName'
zurueckliefert
===============================================================
RemoveAll
---------------------------------------------------------------
ERSTAUTOR ... Orazio Czerwenka, 2:2450/540.55 @ FidoNet
ERSTDATUM ... 02.06.1994 LETZTE AeNDERUNG ... 17.06.1994
---------------------------------------------------------------
BESCHREIBUNG ... entfernt alle in einer Liste uebergebenen
Chars innerhalb eines Strings
DEKLARATION ... function RemoveAll(remo,strName:String):String;
PARAMETER ... remo - Liste der zu entfernenden Chars
strName - der zu bearbeitende String
ERGEBNIS ... ein String der die in remo enthaltenen Chars
nicht mehr enthaelt
===============================================================
RemoveLeft
---------------------------------------------------------------
ERSTAUTOR ... Orazio Czerwenka, 2:2450/540.55 @ FidoNet
ERSTDATUM ... 02.06.1994 LETZTE AeNDERUNG ... 16.06.1994
---------------------------------------------------------------
BESCHREIBUNG ... entfernt alle in einer Liste uebergebenen
Chars links eines zu erhaltenden Strings
DEKLARATION ... function RemoveLeft(remo,strName:String):String;
PARAMETER ... remo - Liste der zu entfernenden Chars
strName - der zu bearbeitende String
ERGEBNIS ... ein String der die in remo enthaltenen Chars
nicht mehr fuehrend enthaelt
===============================================================
RemoveLeftRight
---------------------------------------------------------------
ERSTAUTOR ... Orazio Czerwenka, 2:2450/540.55 @ FidoNet
ERSTDATUM ... 16.06.1994 LETZTE AeNDERUNG ... 16.06.1994
---------------------------------------------------------------
BESCHREIBUNG ... entfernt alle in einer Liste uebergebenen
Chars links und rechts eines zu erhaltenden
Strings
USES ... MirrorString, RemoveLeft
DEKLARATION ... function RemoveLeftRight
(remo,strName:String):String;
PARAMETER ... remo - Liste der zu entfernenden Chars
strName - der zu bearbeitende String
ERGEBNIS ... ein String der die in remo enthaltenen Chars
nicht mehr fuehrend und endend enthaelt
===============================================================
RemoveRight
---------------------------------------------------------------
ERSTAUTOR ... Orazio Czerwenka, 2:2450/540.55 @ FidoNet
ERSTDATUM ... 02.06.1994 LETZTE AeNDERUNG ... 16.06.1994
---------------------------------------------------------------
BESCHREIBUNG ... entfernt alle in einer Liste uebergebenen
Chars rechts eines zu erhaltenden Strings
USES ... MirrorString, RemoveLeft
DEKLARATION ... function RemoveRight(remo,strName:String):String;
PARAMETER ... remo - Liste der zu entfernenden Chars
strName - der zu bearbeitende String
===============================================================
Resemble
---------------------------------------------------------------
ERSTAUTOR ... Peter Schuette, 2:2450/117.19 @ FidoNet
ERSTDATUM ... ??.??.19?? LETZTE AeNDERUNG ... 16.06.1994
MODIFIKATION ... Orazio Czerwenka
---------------------------------------------------------------
BESCHREIBUNG ... liefert einen Wert zurueck, der angibt, wie
sehr sich zwei Strings aehneln
DEKLARATION ... function Resemble(a, b: String): Byte;
PARAMETER ... a,b - die zu vergleichenden Strings
ERGEBNIS ... eine Variable des Typs Byte, die die Aehnlich-
keit zweier Strings widerspiegelt; je kleiner
desto aehnlicher; 0 bei identischen Strings;
die Routine arbeitet case-sensitiv
===============================================================
StringToESC
---------------------------------------------------------------
ERSTAUTOR ... Peter Holschbach, 2:2450/660.3 @ FidoNet
ERSTDATUM ... 24.10.1994 LETZTE AeNDERUNG ...
MODIFIKATION ...
---------------------------------------------------------------
BESCHREIBUNG ... Eine Zeichenkette die Steuerzeichen in
'verschlüsselter' Form enthält, wird
in eine Zeichenkette gewandelt in der die
Steuerzeichen direkt enthalten sind.
DEKLARATION ... Function StringToESC (strName:String) : String;
PARAMETER ... strName - der String der gewandelt werden soll
ERGEBNIS ... ein String mit Steuerzeichen
===============================================================
StripLeadingSpaceTAB
---------------------------------------------------------------
ERSTAUTOR ... Peter Holschbach, 2:2450/660.3 @ FidoNet
ERSTDATUM ... 16.01.1994 LETZTE AeNDERUNG ... 17.06.1994
MODIFIKATION ... Orazio Czerwenka
---------------------------------------------------------------
BESCHREIBUNG ... enfernt fuehrende Leerzeichen und TABs aus ei-
nem String
USES ... RemoveLeft
DEKLARATION ... function StripLeadingSpaceTAB
(strName: String): String;
PARAMETER ... strName - der zu bearbeitende String
===============================================================
StripSpaceTAB
---------------------------------------------------------------
ERSTAUTOR ... Peter Holschbach, 2:2450/660.3 @ FidoNet
ERSTDATUM ... 16.01.1994 LETZTE AeNDERUNG ... 17.06.1994
MODIFIKATION ... Orazio Czerwenka
---------------------------------------------------------------
BESCHREIBUNG ... enfernt _alle_ Leerzeichen und TABs aus einem
String
USES ... RemoveLeft
DEKLARATION ... function StripSpaceTAB(strName:String):String;
PARAMETER ... strName - der zu bearbeitende String
===============================================================
UpperString
---------------------------------------------------------------
ERSTAUTOR ... Orazio Czerwenka, 2:2450/540.55 @ FidoNet
ERSTDATUM ... ??.??.1992 LETZTE AeNDERUNG ... 21.12.1993
---------------------------------------------------------------
BESCHREIBUNG ... konvertiert eine Variable des Typs STRING zu
Grossschreibung (erlaubt auch die Uebergabe von
Variablen des Typs CHAR)
DEKLARATION ... function UpperString (strName:string):String
PARAMETER ... strName - der zu konvertierende String
ERGEBNIS ... eine Variable des Typs STRING, bestehend aus
Grossbuchstaben
===============================================================
WildMatch
---------------------------------------------------------------
ERSTAUTOR ... Peter Schuette, 2:2450/117.19 @ FidoNet
ERSTDATUM ... ??.??.19?? LETZTE AeNDERUNG ... 16.06.1994
MODIFIKATION ... Orazio Czerwenka
---------------------------------------------------------------
BESCHREIBUNG ... ueberprueft, ob ein beliebige WildCards '?' und
'*' enthaltender String mit einem als zweiter
Parameter uebergebenem String uebereinstimmt
DEKLARATION ... function WildMatch
(Pattern,Source: String) : Boolean;
PARAMETER ... Pattern - der WildCards enthaltende String
Source - der String in dem Pattern enthalten
sein soll
ERGEBNIS ... TRUE - wenn Pattern in Source enthalten
FALSE - wenn Pattern nicht in Source
--- CrossPoint v3.02 R
* Origin: kann denn Pascal Suende dein ? (2:2450/540.150)
@PATH: 2450/540
------------------------------------------------------------
(5176) Sun 3 Jul 94 0:00
By: Peter Holschbach
To: Alle
Re: FSTR.DOK 1.05b Teil2 von 2
St:
------------------------------------------------------------
@MSGID: 2:2450/540.150 ae15ac9b
@PID: XP 3.02 R/A6738
4. Beispiele:
-------------
===============================================================
CharListNoPos
---------------------------------------------------------------
CharListNoPos ('ab','bbabTest')
^ {Ergebnis: 5 }
===============================================================
CharListPos
---------------------------------------------------------------
CharListPos ('ab','Test bacd')
^ {Ergebnis: 6 }
===============================================================
EscToString
---------------------------------------------------------------
Zeile := #27'P^'
Writeln (EscToString (Zeile));
{ Ergebnis: '^[P^^' }
===============================================================
EnsureBackslash
---------------------------------------------------------------
Zeile := 'Pfadname';
Zeile1 := EnsureBackSlash (Zeile);
Zeile := 'Pfadname\';
Zeile2 := EnsureBackSlash (Zeile);
{ Ergebnis: Zeile1 = 'Pfadname\'
Zeile2 = 'Pfadname\' }
===============================================================
EnsureNoBackslash
---------------------------------------------------------------
Zeile := 'PfadName\';
Zeile := EnsureBackSlash (Zeile);
{ Ergebnis : Zeile = 'PfadName' }
===============================================================
LastPos
---------------------------------------------------------------
LastPos('33','33333');
^^ { Ergebnis: 4 }
===============================================================
LowerString
---------------------------------------------------------------
wird analog zur Funktion 'UpperString' benutzt
===============================================================
MirrorString
---------------------------------------------------------------
MirrorString('Hello_World_!'); { Ergebnis: '!_dlroW_olleH' }
===============================================================
PartString
---------------------------------------------------------------
LineArray [0] := 'Hello World'; { vom Typ FieldOfStrings }
PartString (' ',LineArray);
{Ergebnis:
LineArry -> 'Hello World','Hello','World','',...
PartCount -> 2
}
siehe auch PartStringByComma und PartString PartStringBySpaceTAB
===============================================================
PartStringByComma
---------------------------------------------------------------
LineArray [0] := 'Hello, World'; { vom Typ FieldOfStrings }
PartStringByComma (LineArray);
{Ergebnis:
LineArry -> 'Hello, World','Hello',' World','',...
PartCount -> 2
}
siehe auch PartStringBySpaceTAB
===============================================================
PartStringBySpaceTAB
---------------------------------------------------------------
LineArray [0] := 'Hello World'; { vom Typ FieldOfStrings }
PartStringBySpaceTAB (LineArray);
{Ergebnis:
LineArry -> 'Hello World','Hello','World','',.....
PartCount -> 2
}
Hier in Kurzform einige Testzeilen:
LineArray [0] PartCount LineArray [1]....
'' -> 0 ''
'a b c' -> 3 'a','b','c'
'a "b c"' -> 2 'a','b c'
'"a b c' -> 1 'a b c'
===============================================================
PosCount
---------------------------------------------------------------
1. PosCount('l','Hallo');
^^
{ Ergebnis: 2 }
2. PosCount('33','333');
^^ { Ergebnis: 1 }
^...
===============================================================
PosX
---------------------------------------------------------------
Writeln (PosX (2,'ab','abcabdabc');
^^ {Ergebnis: 4 }
===============================================================
RedPosCount
---------------------------------------------------------------
RedPosCount('33','333');
^^ { Ergebnis: 2 }
^^
===============================================================
RemoveAll
---------------------------------------------------------------
Writeln (RemoveAll ('acxb','Faxibdxao'));
^^ ^ ^^ { Ergebnis: 'Fido' }
===============================================================
RemoveLeft
---------------------------------------------------------------
Writeln (RemoveLeft ('abc','cbaFido'));
^^^ { Ergebnis: 'Fido' }
===============================================================
RemoveLeftRight
---------------------------------------------------------------
Writeln (RemoveLeftRight ('abc','cbaFidoabc'));
^^^ ^^^
{ Ergebnis: 'Fido' }
===============================================================
RemoveRight
---------------------------------------------------------------
Writeln (RemoveRight ('cba','Fidoabc'));
^^^
{ Ergebnis: 'Fido' }
===============================================================
Resemble
---------------------------------------------------------------
Writeln (Resemble('Fido','Fodi')); { Ergebenis: 2 }
Writeln (Resemble('Fido','Fodo')); { Ergebenis: 1 }
===============================================================
StringToESC
---------------------------------------------------------------
Zeile := '^[P^^';
Zeile2 := EscToString (Zeile));
{ Ergebnis: Zeile2 = #27'P^' }
===============================================================
StripLeadingSpaceTAB
---------------------------------------------------------------
Writeln (StripLeadingSpaceTAB (' Hello '));
^^^ { Ergebnis : 'Hello ' }
===============================================================
StripSpaceTAB
---------------------------------------------------------------
Writeln (StripSpaceTAB (' Hello '));
^^ ^ { Ergebnis: 'Hello' }
===============================================================
UpperString
---------------------------------------------------------------
Uebergabe von Variablen des Typs CHAR:
-------------------------------------
var
str1 : string[1];
ch : char;
begin
str1:= UpperString('a');
ch:= str1[1];
writeln(ch);
end. { Ergebnis: 'A' }
Uebergabe von Variablen des Typs STRING:
---------------------------------------
writeln(UpperString('ab'); { Ergebnis: 'AB' }
===============================================================
WildMatch
---------------------------------------------------------------
Writeln (WildMatch ('?cd?','bcde')) { Ergebnis: TRUE }
Writeln (WildMatch ('*cd?','abcde')) { Ergebnis: TRUE }
Writeln (WildMatch ('*Fido','look a Fido')) { Ergebnis: TRUE }
---------------------------------------------------------------
5. History:
-----------
Neuerungen nach Release ...
---------------------------
... 1.02 - PosX - liefert die Position des Xten
Vorkommens eines Substrings
innerhalb eines Strings als
Byte zurueck
... 1.03 - CharListPos - liefert die Position des
ersten Vorkommens eines, in
einer als String uebergebenen
Liste enthaltenen Chars in
einem String als Word zurueck
CharListNoPos - liefert die Position des
ersten Vorkommens eines, in
einer als String uebergebenen
Liste _nicht_ enthaltenen
Chars in einem String als
Word zurueck
EnsureBackslash - stellt sicher, dass ein String
mit einem '\' endet
EnsureNoBackslash - stellt sicher, dass ein String
_nicht_ mit einem '\' endet
FieldOfStrings - Typendefinition fuer den
internen Gebrauch
PartString - teilt einen String, ausgehend
von einer als String
uebergebenen Liste von Trenn-
zeichen, in Teilstrings auf
PartStringByComma - teilt einen String, ausgehend
von dem Trennzeichen ',', in
Teilstrings auf
PartStringBySpaceTAB - teilt einen String, ausgehend
von den Trennzeichen ' ' und
#9, in Teilstrings auf
RemoveAll - entfernt alle in einer
uebergebenen Liste enthaltenen
Chars komplett aus einem
String
RemoveLeft - entfernt alle in einer
uebergebenen Liste enthaltenen
Chars links aus einem String
RemoveLeftRight - entfernt alle in einer
uebergebenen Liste enthaltenen
Chars links _und_ rechts aus
einem String
RemoveRight - entfernt alle in einer
uebergebenen Liste enthaltenen
Chars rechts aus einem String
Resemble - liefert einen Wert zurueck,
der angibt, wie sehr sich
zwei Strings aehneln
StripLeadingSpaceTAB - entfernt alle fuehrenden Leer-
zeichen und TABs aus einem
String
StripSpaceTAB - entfernt _alle_ Leerzeichen
und TABs aus einem String
WildMatch - ueberprueft, ob ein beliebige
WildCards '?' und '*' ent-
haltender String mit einem
als zweiter Parameter ueberge-
benem String uebereinstimmt
... 1.05 - PartString - behandelt alle Zeichen die von
"" umschlossen sind als eine
Teilzeichenkette.
- Die Variable PartCount ist global
... 1.06 - Partstring - Probleme bei Zeilenlängen von
34 Zeichen behoben.
==========================================================================
/////////////////////\\\\\\\\\\\\\\\\\\\\\\\
Ende der Dokumentation zur FIDO Unit FSTR
\\\\\\\\\\\\\\\\\\\\\///////////////////////